package lily.phs.object;

import lily.phs.database.Constants;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;


public class PrenatalVisit implements Constants{
	
	private Context mContext;
	
	private int prvi_id=-1;
	private String prvi_date="";
	private int prvi_times=-1;
	private int prvi_preg_week=-1;
	private String prvi_selftalk="";
	private float prvi_weight=-1f;
	private int prvi_palace_height=-1;
	private int prvi_chest_measure=-1;
	private String prvi_fetal_position="";
	private int prvi_fetal_heartrate=-1;
	private int prvi_bloodpressure_high=-1;
	private int prvi_bloodpressure_low=-1;
	private float prvi_hgb=-1f;
	private float prvi_urine_protein=-1f;
	private String prvi_other_assitest="";
	private int prvi_is_abnormal=-1;
	private String prvi_abnormal="";
	private String prvi_guide="";
	private String prvi_other_guide="";
	private int prvi_need_transfer=-1;
	private String prvi_transfer_reason="";
	private String prvi_transfer_hospital="";
	private String prvi_next_visit_date="";
	private String prvi_doctor="";
	
	public PrenatalVisit(Context context){
		this.mContext = context;
	}

	public int getPrvi_id() {
		return prvi_id;
	}

	public void setPrvi_id(int prvi_id) {
		this.prvi_id = prvi_id;
	}

	public String getPrvi_date() {
		return prvi_date;
	}

	public void setPrvi_date(String prvi_date) {
		this.prvi_date = prvi_date;
	}

	public int getPrvi_times() {
		return prvi_times;
	}

	public void setPrvi_times(int prvi_times) {
		this.prvi_times = prvi_times;
	}

	public int getPrvi_preg_week() {
		return prvi_preg_week;
	}

	public void setPrvi_preg_week(int prvi_preg_week) {
		this.prvi_preg_week = prvi_preg_week;
	}

	public String getPrvi_selftalk() {
		return prvi_selftalk;
	}

	public void setPrvi_selftalk(String prvi_selftalk) {
		this.prvi_selftalk = prvi_selftalk;
	}

	public float getPrvi_weight() {
		return prvi_weight;
	}

	public void setPrvi_weight(float prvi_weight) {
		this.prvi_weight = prvi_weight;
	}

	public int getPrvi_palace_height() {
		return prvi_palace_height;
	}

	public void setPrvi_palace_height(int prvi_palace_height) {
		this.prvi_palace_height = prvi_palace_height;
	}

	public int getPrvi_chest_measure() {
		return prvi_chest_measure;
	}

	public void setPrvi_chest_measure(int prvi_chest_measure) {
		this.prvi_chest_measure = prvi_chest_measure;
	}

	public String getPrvi_fetal_position() {
		return prvi_fetal_position;
	}

	public void setPrvi_fetal_position(String prvi_fetal_position) {
		this.prvi_fetal_position = prvi_fetal_position;
	}

	public int getPrvi_fetal_heartrate() {
		return prvi_fetal_heartrate;
	}

	public void setPrvi_fetal_heartrate(int prvi_fetal_heartrate) {
		this.prvi_fetal_heartrate = prvi_fetal_heartrate;
	}

	public int getPrvi_bloodpressure_high() {
		return prvi_bloodpressure_high;
	}

	public void setPrvi_bloodpressure_high(int prvi_bloodpressure_high) {
		this.prvi_bloodpressure_high = prvi_bloodpressure_high;
	}

	public int getPrvi_bloodpressure_low() {
		return prvi_bloodpressure_low;
	}

	public void setPrvi_bloodpressure_low(int prvi_bloodpressure_low) {
		this.prvi_bloodpressure_low = prvi_bloodpressure_low;
	}

	public float getPrvi_hgb() {
		return prvi_hgb;
	}

	public void setPrvi_hgb(float prvi_hgb) {
		this.prvi_hgb = prvi_hgb;
	}

	public float getPrvi_urine_protein() {
		return prvi_urine_protein;
	}

	public void setPrvi_urine_protein(float prvi_urine_protein) {
		this.prvi_urine_protein = prvi_urine_protein;
	}

	public String getPrvi_other_assitest() {
		return prvi_other_assitest;
	}

	public void setPrvi_other_assitest(String prvi_other_assitest) {
		this.prvi_other_assitest = prvi_other_assitest;
	}

	public int getPrvi_is_abnormal() {
		return prvi_is_abnormal;
	}

	public void setPrvi_is_abnormal(int prvi_is_abnormal) {
		this.prvi_is_abnormal = prvi_is_abnormal;
	}

	public String getPrvi_abnormal() {
		return prvi_abnormal;
	}

	public void setPrvi_abnormal(String prvi_abnormal) {
		this.prvi_abnormal = prvi_abnormal;
	}

	public String getPrvi_guide() {
		return prvi_guide;
	}

	public void setPrvi_guide(String prvi_guide) {
		this.prvi_guide = prvi_guide;
	}

	public String getPrvi_other_guide() {
		return prvi_other_guide;
	}

	public void setPrvi_other_guide(String prvi_other_guide) {
		this.prvi_other_guide = prvi_other_guide;
	}

	public int getPrvi_need_transfer() {
		return prvi_need_transfer;
	}

	public void setPrvi_need_transfer(int prvi_need_transfer) {
		this.prvi_need_transfer = prvi_need_transfer;
	}

	public String getPrvi_transfer_reason() {
		return prvi_transfer_reason;
	}

	public void setPrvi_transfer_reason(String prvi_transfer_reason) {
		this.prvi_transfer_reason = prvi_transfer_reason;
	}

	public String getPrvi_transfer_hospital() {
		return prvi_transfer_hospital;
	}

	public void setPrvi_transfer_hospital(String prvi_transfer_hospital) {
		this.prvi_transfer_hospital = prvi_transfer_hospital;
	}

	public String getPrvi_next_visit_date() {
		return prvi_next_visit_date;
	}

	public void setPrvi_next_visit_date(String prvi_next_visit_date) {
		this.prvi_next_visit_date = prvi_next_visit_date;
	}

	public String getPrvi_doctor() {
		return prvi_doctor;
	}

	public void setPrvi_doctor(String prvi_doctor) {
		this.prvi_doctor = prvi_doctor;
	}
	
	public void insertPrenatalVisit(){
//		int result = -1;
		ContentValues value = new ContentValues();
		value.put(PRVI_COLUMN1, this.getPrvi_id());
		value.put(PRVI_COLUMN2, this.getPrvi_date());
		value.put(PRVI_COLUMN3, this.getPrvi_times());
		value.put(PRVI_COLUMN4, this.getPrvi_preg_week());
		value.put(PRVI_COLUMN5, this.getPrvi_selftalk());
		value.put(PRVI_COLUMN6, this.getPrvi_weight());
		value.put(PRVI_COLUMN7, this.getPrvi_palace_height());
		value.put(PRVI_COLUMN8, this.getPrvi_chest_measure());
		value.put(PRVI_COLUMN9, this.getPrvi_fetal_position());
		value.put(PRVI_COLUMN10, this.getPrvi_fetal_heartrate());
		value.put(PRVI_COLUMN11, this.getPrvi_bloodpressure_high());
		value.put(PRVI_COLUMN12, this.getPrvi_bloodpressure_low());
		value.put(PRVI_COLUMN13, this.getPrvi_hgb());
		value.put(PRVI_COLUMN14, this.getPrvi_urine_protein());
		value.put(PRVI_COLUMN15, this.getPrvi_other_assitest());
		value.put(PRVI_COLUMN16, this.getPrvi_is_abnormal());
		value.put(PRVI_COLUMN17, this.getPrvi_abnormal());
		value.put(PRVI_COLUMN18, this.getPrvi_guide());
		value.put(PRVI_COLUMN19, this.getPrvi_other_guide());
		value.put(PRVI_COLUMN20, this.getPrvi_need_transfer());
		value.put(PRVI_COLUMN21, this.getPrvi_transfer_reason());
		value.put(PRVI_COLUMN22, this.getPrvi_transfer_hospital());
		value.put(PRVI_COLUMN23, this.getPrvi_next_visit_date());
		value.put(PRVI_COLUMN24, this.getPrvi_doctor());
		
		mContext.getContentResolver().insert(CONTENT_URI_TB17, value);
//		return result;
		
	}
	
	public void selectPrenatalVisit(int id,int time){
		String where = PRVI_COLUMN1 + "=" + id + " and " +PRVI_COLUMN3 + "=" + time + "" ;
		Cursor cursor = mContext.getContentResolver().query(CONTENT_URI_TB17, null, where, null, null);
		while(cursor.moveToNext()){
			this.prvi_id = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN1));
			this.prvi_date = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN2));
			this.prvi_times = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN3));
			this.prvi_preg_week = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN4));
			this.prvi_selftalk = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN5));
			this.prvi_weight = cursor.getFloat(cursor.getColumnIndex(PRVI_COLUMN6));
			this.prvi_palace_height = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN7));
			this.prvi_chest_measure = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN8));
			this.prvi_fetal_position = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN9));
			this.prvi_fetal_heartrate = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN10));
			this.prvi_bloodpressure_high = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN11));
			this.prvi_bloodpressure_low = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN12));
			this.prvi_hgb = cursor.getFloat(cursor.getColumnIndex(PRVI_COLUMN13));
			this.prvi_urine_protein = cursor.getFloat(cursor.getColumnIndex(PRVI_COLUMN14));
			this.prvi_other_assitest = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN15));
			this.prvi_is_abnormal = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN16));
			this.prvi_abnormal = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN17));
			this.prvi_guide = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN18));
			this.prvi_other_guide = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN19));
			this.prvi_need_transfer = cursor.getInt(cursor.getColumnIndex(PRVI_COLUMN20));
			this.prvi_transfer_reason = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN21));
			this.prvi_transfer_hospital = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN22));
			this.prvi_next_visit_date = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN23));
			this.prvi_doctor = cursor.getString(cursor.getColumnIndex(PRVI_COLUMN24));
			
		}
		cursor.close();
	}
	
	public void updatePrenatalVisit(int id,int time){
		ContentValues value = new ContentValues();
		value.put(PRVI_COLUMN1, this.getPrvi_id());
		value.put(PRVI_COLUMN2, this.getPrvi_date());
		value.put(PRVI_COLUMN3, this.getPrvi_times());
		value.put(PRVI_COLUMN4, this.getPrvi_preg_week());
		value.put(PRVI_COLUMN5, this.getPrvi_selftalk());
		value.put(PRVI_COLUMN6, this.getPrvi_weight());
		value.put(PRVI_COLUMN7, this.getPrvi_palace_height());
		value.put(PRVI_COLUMN8, this.getPrvi_chest_measure());
		value.put(PRVI_COLUMN9, this.getPrvi_fetal_position());
		value.put(PRVI_COLUMN10, this.getPrvi_fetal_heartrate());
		value.put(PRVI_COLUMN11, this.getPrvi_bloodpressure_high());
		value.put(PRVI_COLUMN12, this.getPrvi_bloodpressure_low());
		value.put(PRVI_COLUMN13, this.getPrvi_hgb());
		value.put(PRVI_COLUMN14, this.getPrvi_urine_protein());
		value.put(PRVI_COLUMN15, this.getPrvi_other_assitest());
		value.put(PRVI_COLUMN16, this.getPrvi_is_abnormal());
		value.put(PRVI_COLUMN17, this.getPrvi_abnormal());
		value.put(PRVI_COLUMN18, this.getPrvi_guide());
		value.put(PRVI_COLUMN19, this.getPrvi_other_guide());
		value.put(PRVI_COLUMN20, this.getPrvi_need_transfer());
		value.put(PRVI_COLUMN21, this.getPrvi_transfer_reason());
		value.put(PRVI_COLUMN22, this.getPrvi_transfer_hospital());
		value.put(PRVI_COLUMN23, this.getPrvi_next_visit_date());
		value.put(PRVI_COLUMN24, this.getPrvi_doctor());

		String where = PRVI_COLUMN1 + "=" + id + " and " +PRVI_COLUMN3 + "=" + time + "" ;
		mContext.getContentResolver().update(CONTENT_URI_TB17, value, where, null);
		
	}
	
	/**
	 * 删除患者的某次随访记录
	 * @param id 档案编号
	 * @param time 随访的次数
	 */
	public void delectPrenatalVisit(int id,int time){
		String where = PRVI_COLUMN1 + "=" + id + " and " +PRVI_COLUMN3 + "=" + time + "" ;
		mContext.getContentResolver().delete(CONTENT_URI_TB17, where, null);
		
	}

	/**
	 * 删除患者的全部随访记录
	 * @param id 档案编号
	 */
	public void delectPrenatalVisit(int id){
		String where = PRVI_COLUMN1 + "=" + id + "" ;
		mContext.getContentResolver().delete(CONTENT_URI_TB17, where, null);
		
	}
}
